package org.byqh.dqeai.entity.proxy;

import com.easy.query.core.expression.parser.core.available.TableAvailable;
import com.easy.query.core.proxy.AbstractProxyEntity;
import com.easy.query.core.proxy.SQLColumn;
import com.easy.query.core.proxy.SQLSelectAsExpression;
import com.easy.query.core.proxy.fetcher.AbstractFetcher;
import com.easy.query.core.proxy.core.EntitySQLContext;
import org.byqh.dqeai.entity.SoftInfo;
import com.easy.query.core.proxy.columns.types.SQLStringTypeColumn;
import com.easy.query.core.proxy.columns.types.SQLBigDecimalTypeColumn;

/**
 * this file automatically generated by easy-query, don't modify it
 * 当前文件是easy-query自动生成的请不要随意修改
 * 如果出现属性冲突请使用@ProxyProperty进行重命名
 *
 * @author easy-query
 */
public class SoftInfoProxy extends AbstractProxyEntity<SoftInfoProxy, SoftInfo> {

    private static final Class<SoftInfo> entityClass = SoftInfo.class;

    public static final SoftInfoProxy TABLE = createTable().createEmpty();

    public static SoftInfoProxy createTable() {
        return new SoftInfoProxy();
    }

    public SoftInfoProxy() {
    }

    /**
     * {@link SoftInfo#getSoftId}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softId() {
        return getStringTypeColumn("softId");
    }

    /**
     * {@link SoftInfo#getSoftName}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softName() {
        return getStringTypeColumn("softName");
    }

    /**
     * {@link SoftInfo#getSoftAbbr}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softAbbr() {
        return getStringTypeColumn("softAbbr");
    }

    /**
     * {@link SoftInfo#getSoftEname}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softEname() {
        return getStringTypeColumn("softEname");
    }

    /**
     * {@link SoftInfo#getSoftVer}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softVer() {
        return getStringTypeColumn("softVer");
    }

    /**
     * 分为IONE\页岩油等大类别
     * {@link SoftInfo#getSystemId}
     */
    public SQLStringTypeColumn<SoftInfoProxy> systemId() {
        return getStringTypeColumn("systemId");
    }

    /**
     * 根据不同软件体系下显示的类别名称
     * {@link SoftInfo#getDisplayCategory}
     */
    public SQLStringTypeColumn<SoftInfoProxy> displayCategory() {
        return getStringTypeColumn("displayCategory");
    }

    /**
     * {@link SoftInfo#getCategoryId}
     */
    public SQLStringTypeColumn<SoftInfoProxy> categoryId() {
        return getStringTypeColumn("categoryId");
    }

    /**
     * 包括WEB本地云端等
     * {@link SoftInfo#getSoftArch}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softArch() {
        return getStringTypeColumn("softArch");
    }

    /**
     * 关于软件的具体简介
     * {@link SoftInfo#getSoftInt}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softInt() {
        return getStringTypeColumn("softInt");
    }

    /**
     * 软件图标存储地址
     * {@link SoftInfo#getSoftIco}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softIco() {
        return getStringTypeColumn("softIco");
    }

    /**
     * 软件图片存储地址,用于软件展示
     * {@link SoftInfo#getSoftImage}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softImage() {
        return getStringTypeColumn("softImage");
    }

    /**
     * 软件登录界面地址
     * {@link SoftInfo#getSoftLogin}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softLogin() {
        return getStringTypeColumn("softLogin");
    }

    /**
     * 包括自建引进等
     * {@link SoftInfo#getSoftSources}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softSources() {
        return getStringTypeColumn("softSources");
    }

    /**
     * 0停用;1正常
     * {@link SoftInfo#getSoftStatus}
     */
    public SQLStringTypeColumn<SoftInfoProxy> softStatus() {
        return getStringTypeColumn("softStatus");
    }

    /**
     * {@link SoftInfo#getSoftSeq}
     */
    public SQLBigDecimalTypeColumn<SoftInfoProxy> softSeq() {
        return getBigDecimalTypeColumn("softSeq");
    }

    @Override
    public Class<SoftInfo> getEntityClass() {
        return entityClass;
    }

    /**
     * 数据库列的简单获取
     *
     * @return
     */
    public SoftInfoProxyFetcher FETCHER = new SoftInfoProxyFetcher(this, null, SQLSelectAsExpression.empty);

    public static class SoftInfoProxyFetcher extends AbstractFetcher<SoftInfoProxy, SoftInfo, SoftInfoProxyFetcher> {

        public SoftInfoProxyFetcher(SoftInfoProxy proxy, SoftInfoProxyFetcher prev, SQLSelectAsExpression sqlSelectAsExpression) {
            super(proxy, prev, sqlSelectAsExpression);
        }

        /**
         * {@link SoftInfo#getSoftId}
         */
        public SoftInfoProxyFetcher softId() {
            return add(getProxy().softId());
        }

        /**
         * {@link SoftInfo#getSoftName}
         */
        public SoftInfoProxyFetcher softName() {
            return add(getProxy().softName());
        }

        /**
         * {@link SoftInfo#getSoftAbbr}
         */
        public SoftInfoProxyFetcher softAbbr() {
            return add(getProxy().softAbbr());
        }

        /**
         * {@link SoftInfo#getSoftEname}
         */
        public SoftInfoProxyFetcher softEname() {
            return add(getProxy().softEname());
        }

        /**
         * {@link SoftInfo#getSoftVer}
         */
        public SoftInfoProxyFetcher softVer() {
            return add(getProxy().softVer());
        }

        /**
         * 分为IONE\页岩油等大类别
         * {@link SoftInfo#getSystemId}
         */
        public SoftInfoProxyFetcher systemId() {
            return add(getProxy().systemId());
        }

        /**
         * 根据不同软件体系下显示的类别名称
         * {@link SoftInfo#getDisplayCategory}
         */
        public SoftInfoProxyFetcher displayCategory() {
            return add(getProxy().displayCategory());
        }

        /**
         * {@link SoftInfo#getCategoryId}
         */
        public SoftInfoProxyFetcher categoryId() {
            return add(getProxy().categoryId());
        }

        /**
         * 包括WEB本地云端等
         * {@link SoftInfo#getSoftArch}
         */
        public SoftInfoProxyFetcher softArch() {
            return add(getProxy().softArch());
        }

        /**
         * 关于软件的具体简介
         * {@link SoftInfo#getSoftInt}
         */
        public SoftInfoProxyFetcher softInt() {
            return add(getProxy().softInt());
        }

        /**
         * 软件图标存储地址
         * {@link SoftInfo#getSoftIco}
         */
        public SoftInfoProxyFetcher softIco() {
            return add(getProxy().softIco());
        }

        /**
         * 软件图片存储地址,用于软件展示
         * {@link SoftInfo#getSoftImage}
         */
        public SoftInfoProxyFetcher softImage() {
            return add(getProxy().softImage());
        }

        /**
         * 软件登录界面地址
         * {@link SoftInfo#getSoftLogin}
         */
        public SoftInfoProxyFetcher softLogin() {
            return add(getProxy().softLogin());
        }

        /**
         * 包括自建引进等
         * {@link SoftInfo#getSoftSources}
         */
        public SoftInfoProxyFetcher softSources() {
            return add(getProxy().softSources());
        }

        /**
         * 0停用;1正常
         * {@link SoftInfo#getSoftStatus}
         */
        public SoftInfoProxyFetcher softStatus() {
            return add(getProxy().softStatus());
        }

        /**
         * {@link SoftInfo#getSoftSeq}
         */
        public SoftInfoProxyFetcher softSeq() {
            return add(getProxy().softSeq());
        }

        @Override
        protected SoftInfoProxyFetcher createFetcher(SoftInfoProxy cp, AbstractFetcher<SoftInfoProxy, SoftInfo, SoftInfoProxyFetcher> prev, SQLSelectAsExpression sqlSelectExpression) {
            return new SoftInfoProxyFetcher(cp, this, sqlSelectExpression);
        }
    }
}
